package com.weixing.mall.provider.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.weixing.mall.base.constant.DatePattern;
import com.weixing.mall.core.enums.OrderAppTagEnum;
import com.weixing.mall.provider.api.model.enums.OrderTypeEnum;
import com.weixing.mall.provider.model.enums.OrderFromEnum;
import com.weixing.mall.provider.model.enums.OrderStateEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单Vo
 *
 * @author  siashan
 * @since  v1.0.1
 **/
@Data
public class FrontAgentOrderVo {

    /**
     * 订单id
     */
    private Long orderId;
    /**
     * 代理id
     */
    private Long agentId;

    /**
     * 代理商优惠id
     */
    /**
     * 活动id
     */
    private Long actId;
    private String agentSn;
    /**
     * 代理商名称
     */
    private String agentName;
    /**
     * 下单时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date createdTime;
    /**
     * 更新时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date updatedTime;
    /**
     * 审核时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date auditTime;

    /**
     * 质检时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date checkTime;
    /**
     * 订单编号
     */
    private String orderSn;
    /**
     * 商品id
     */
    private Long goodsId;

    /**
     * 货品ID
     */
    private Long productId;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 商品sku
     */
    private String productSkuDesp;
    /**
     * 市场价
     */
    private BigDecimal marketPrice;
    /**
     * 订单金额
     */
    private BigDecimal orderPrice;
    /**
     * 货品图片
     */
    private String productImg;
    /**
     * 订单类型
     */
    private OrderTypeEnum orderType;
    /**
     * 订单来源
     */
    private OrderFromEnum orderFrom;

    /**
     * 折扣
     */
    private Double discount;
    /**
     * 实付金额
     */
    private BigDecimal actualPrice;

    /**
     * 代理商认领时间轴
     */
    private String agentCliamLine;

    /**
     * 待审核人
     */
    private Long auditorId;

    /**
     * 订单审核流转部门
     */
    private Integer auditDept;

    /**
     * 商品数量
     */
    private int itemCnt = 1;

    /**
     * 订单利润
     */
    private String profit;

    /**
     * 需退款人
     */
    private String refunder;

    /**
     * 需上交款
     */
    private String needPay;

    /**
     * 需收款
     */
    private String needReceive;


    /**
     * 上交人
     */
    private String payer;
    /**
     * 收款人
     */
    private String receivor;

    /**
     * 是否可删除 0 不能删； 1 可以删
     */
    private Integer canDel = 0;
    /**
     * 是否可修改 0 不能改； 1 可以改
     */
    private Integer canEdit = 0;


    /**
     * 审核状态
     */
    @JsonIgnore
    private Integer auditStatus;

    /**
     * 订单状态
     */
    private OrderStateEnum orderStatus;

    /**
     * 联系人
     */
    private String contactUser;
    /**
     * 联系人手机号
     */
    private String contactPhone;
    /**
     * 货号
     */
    private String goodsSn;
    /**
     * 款号
     */
    private String styleNo;

    /**
     * 下单人
     */
    private String buyer;
    /**
     * 客服
     */
    private String customerName;

    /**
     * 支付流水号
     */
    private String outTradeNo;
    /**
     * 活动名称
     */
    private String actName;

    /**
     * 标签状态
     */
    private OrderAppTagEnum appTag;

    /**
     * 是否本人订单
     */
     private boolean ownOrder;

    /**
     * 是否待审核
     */
     private boolean waitAudit;

    /**
     * 售后换货标记  默认0  正常订单  1 换货订单
     */
    private Integer afterSaleTag;
}
